package com.turing.post.cardmanagement.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * 调整单管理业务
 * 
 * @author YangShuo
 * 
 */

@Remote
@Local
public interface AdjustInOutStockOrderBusiness {

	/**
	 * 新增调整单
	 * 
	 * @param AdjustInOutStockOrder对象
	 * @param AdjustInOutStockOrderDetail对象集合
	 */
	public BigInteger newAdjustInOutStockOrderWithDetail(PCPSWebInput input,
			AdjustInOutStockOrder AdjustInOutStockOrder,
			List<AdjustInOutStockOrderDetail> detaillist)
			throws PCPSApplicationException;

	/**
	 * 取消调整单
	 * 
	 * @param AdjustInOutStockOrderID
	 *            调整单ID
	 * @param operno
	 *            操作员
	 * @param remark
	 *            备注
	 * @throws PCPSApplicationException
	 */
	public void cancelAdjustInOutStockOrderStatus(PCPSWebInput webInput,
			BigInteger AdjustInOutStockOrderID, BigInteger operno, String remark)
			throws PCPSApplicationException;

	/**
	 * 删除调整单
	 * 
	 * @param AdjustInOutStockOrderID
	 *            调整单ID
	 * @param operno
	 *            操作员
	 * @param remark
	 *            备注
	 * @throws PCPSApplicationException
	 */
	public void deleteAdjustInOutStockOrderStatus(PCPSWebInput webInput,
			BigInteger AdjustInOutStockOrderID, BigInteger operno, String remark)
			throws PCPSApplicationException;

	/**
	 * 调整单审核
	 * 
	 * @param AdjustInOutStockOrderID
	 *            调整单ID
	 * @param operno
	 *            操作员
	 * @param remark
	 *            备注
	 * @param ispass
	 *            是否通过
	 * @throws PCPSApplicationException
	 */

	public void authAdjustInOutStockOrderStatus(PCPSWebInput webInput,
			BigInteger AdjustInOutStockOrderID, BigInteger operno,
			String remark, boolean ispass) throws PCPSApplicationException;
}
